In many computing systems low level instruction code is used as an intermediary between the hardware components of the computing system and the operating software and other high level software executed on the computing system. This low level instruction code is known as the computer Basic Input and Output System (“BIOS”). The BIOS provides a set of software routines that allow high level software to interact with the hardware components of the computing system using standard calls.
The BIOS may also provide a number of other optional features that serve to enhance the capabilities of the computer system. One such feature provided by some BIOS manufacturers is a feature for redirecting the video output of a computer system to a remote computing device via a standard RS-232 serial port or via a network communications port. Keyboard input can also be received from the remote device and processed by the computer system as if it was generated by a locally connected keyboard. This feature, known as “serial redirection” or “console redirection,” is commonly used on “headless” computer systems that do not include a video display adapter, video display, or keyboard.
Video display adapters commonly provide video display memory for buffering and generating the screen display. Video display adapters also typically provide an optional read only memory (“ROM”) that implements functions exposed by the BIOS for reading and writing to the video display memory. Programs can access these functions, and thereby write to the display screen, through the use of an industry standard video services software interrupt.
In headless computer systems that are not equipped with a video display adapter, such as rack mounted server computers utilized in large-scale installations, there is no video display memory for buffering the display. There is also no optional ROM for implementing the functions for reading and writing to the display. Accordingly, when used with headless computer systems, programs that are coded to utilize a standard video services software interrupt to write to the display screen may be unable to write data to the display. Because these programs are unable to write to the display screen, the information generated by these programs may also not be redirected during the console redirection process. This can be frustrating for system administrators that expect data from all programs to be redirected even when utilized with computer systems not equipped with a video display adapter.
It is with respect to these considerations and others that the various embodiments of the present invention have been made.